package com.softer.wxzj.service;

import com.github.pagehelper.PageInfo;
import com.softer.wxzj.common.entity.CommonResult;
import com.softer.wxzj.common.entity.Page;
import com.softer.wxzj.entity.AccCalculateInterestInfo;
import com.softer.wxzj.service.base.BaseService;

import java.util.Map;

/**
 * @author zcz
 * @date 2019/7/5
 */
public interface AccCalculateInterestInfoService extends BaseService<AccCalculateInterestInfo> {
    int sendFinance(String rateNo);
    Map<String,String> checkCalculate(AccCalculateInterestInfo accCalculateInterestInfo);
    int modifyIsCalculation(String id,String isCalculation);
    /**
     * 根据查询利率明细
     * @param id
     * @param fuzzy
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getRateDetailList(Page page, String id, String fuzzy);
    /**
     * 预结息
     * @param id
     * @return
     */
    CommonResult advanceInterest(String id);

    /**
     * 结息信息汇总查询 小区列表
     * @param page
     * @param accCalculateInterestInfo
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getInterestRegionList(Page page, AccCalculateInterestInfo accCalculateInterestInfo);

    /**
     * 就结账信息汇总查询 自然幢列表
     * @param accCalculateInterestInfo
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getInterestBuildList(Page page,AccCalculateInterestInfo accCalculateInterestInfo);

    /**
     * 结息信息汇总查询 房屋列表
     * @param accCalculateInterestInfo
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getInterestHouseList(Page page,AccCalculateInterestInfo accCalculateInterestInfo);

    /**
     * 结息信息汇总查询 房屋列表
     * @param accCalculateInterestInfo
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getInterestHouseDetailList(Page page,AccCalculateInterestInfo accCalculateInterestInfo);

    /**
     * 结息清册小区列表
     * @param page
     * @param accCalculateInterestInfo
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getInventoryRegionList(Page page,AccCalculateInterestInfo accCalculateInterestInfo);
    /**
     * 结息清册自然幢列表
     * @param page
     * @param accCalculateInterestInfo
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getInventoryBuildList(Page page,AccCalculateInterestInfo accCalculateInterestInfo);
    /**
     * 结息清册房屋列表
     * @param page
     * @param accCalculateInterestInfo
     * @return
     */
    PageInfo<AccCalculateInterestInfo> getInventoryHouseList(Page page,AccCalculateInterestInfo accCalculateInterestInfo);

    /**
     * 结息 确定资金结息，并写入财务
     * @param id
     * @return
     */
    CommonResult calculateInterest(String id);

    /**
     * 按照预结息，并写入财务
     * @param id
     * @return
     */
    CommonResult accordAdvanceInterest(String id);
    /**
     * 根据id查询预结息状态
     * @param id
     * @return
     */
    String getIsAdvanceById(String id);

}
